This draw most of the time is used to avoid accessing the same buffer it doesn't flush the batch, meaning it will only populate from the current point.
Will call draw and restart the buffer access on the batch. Flush operations should not be called more than once per frame.
This function is used for renderer2d being able to manage the draw order based on when the renderer being called is switched. This will bring a lot more performance than drawinig whenever the switch was needed.
Use this interface when you store render commands and draws it a later time.